CLICK ON IT TO START PLAYING.

var data = [];
var m = 1;
var b = 0;

function setup() {
  createCanvas(400, 400);
}

function linearreg() {
  var xsum = 0;
  var ysum = 0;
  for(var i = 0; i < data.length; i++) {
    xsum += data[i].x;
    ysum += data[i].y;
  }
  var xmean = xsum / data.length;
  var ymean = ysum / data.length;
  var num = 0;
  var den = 0;
  for(i = 0; i < data.length; i++) {
    var x = data[i].x;
    var y = data[i].y;
    num += (x - xmean) * (y - ymean);
    den += (x - xmean) * (x - xmean);
  }
  m = num / den;
  b = ymean - (m * xmean);
}

function drawline() {
  var x1 = 0;
  var y1 = (m * x1) + b;
  var x2 = 1;
  var y2 = (m * x2) + b;
  x1 = map(x1, 0, 1, 0, width);
  y1 = map(y1, 0, 1, height, 0);
  x2 = map(x2, 0, 1, 0, width);
  y2 = map(y2, 0, 1, height, 0);
  stroke(255, 0, 255);
  line(x1, y1, x2, y2);
}

function mousePressed() {
  var x = map(mouseX, 0, width, 0, 1);
  var y = map(mouseY, 0, height, 1, 0);
  var point = createVector(x, y);
  data.push(point);
}

function draw() {
  background(51);
  for(var i = 0; i < data.length; i++) {
    var x = map(data[i].x, 0, 1, 0, width);
    var y = map(data[i].y, 0, 1, height, 0);
    ellipse(x, y, 8, 8);
  }
  if(data.length > 1) {
    linearreg();
    drawline();
  }
}